home *** CD-ROM | disk | FTP | other *** search
-
-
-
- bbbbrrrruuuu((((1111)))) bbbbrrrruuuu((((1111))))
-
-
-
- NNNNAAAAMMMMEEEE
- bru - backup and restore utility
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- bbbbrrrruuuu mmmmooooddddeeeessss [ ccccoooonnnnttttrrrroooollll ooooppppttttiiiioooonnnnssss ] [ sssseeeelllleeeeccccttttiiiioooonnnn ooooppppttttiiiioooonnnnssss ] files
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- _B_r_u is a UUUUNNNNIIIIXXXX filesystem backup utility with significant enhancements
- over other more common utilities such as _t_a_r, _c_p_i_o, _v_o_l_c_o_p_y, and _d_d.
- Some of _b_r_u's capabilities include:
-
- o Full or incremental backup with quick and easy restoration of
- files.
- o Multiple physical volumes per archive.
- o Data integrity assurance via checksum computation on every
- archive block.
- o Ability to properly save and restore directories, symbolic links,
- block special files, and character special files.
- o Comparison of archives with current directory hierarchy.
- o Ability to recover files from corrupted archives or damaged media
- with minimal data loss.
- o No inherent maximum archive buffer size.
- o Improved performance through random access archive I/O when
- available.
- o Automatic byte or half word swapping as necessary when reading
- archives produced on other machines.
- o Recognition of filename generation patterns in the same form as
- the shell for files read from an archive.
-
- When _f_i_l_e_s are specified on the command line then the actions to be
- performed are limited to those _f_i_l_e_s. If a named file is a directory
- then it and all its descendents are used. If no _f_i_l_e_s are specified then
- the default for writing archives is all files in and below the current
- directory. The default for reading archives is selection of all files in
- the archive.
-
- If ``-'' is given instead of _f_i_l_e_s then the standard input is read to
- obtain the file list. This is useful in conjunction with the _f_i_n_d
- command to provide finer control over files selected for backup.
- Obviously this mode is only valid when _b_r_u is not also reading its
- archive from the standard input.
-
- If you are doing backups non-interactively (for example, via _c_r_o_n, be
- sure to read the description of the ----BBBB option below.
-
- DDDDEEEEFFFFAAAAUUUULLLLTTTTSSSS
- Various default parameters, such as archive device name and size, archive
- buffer size, controlling terminal name, etc. are system dependent.
- These defaults, along with version, variant, and other miscellaneous
- internal information may be discovered via the ----hhhh mode.
-
- _b_r_u assumes the default tape device to be ////ddddeeeevvvv////ttttaaaappppeeee if no tape device is
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- bbbbrrrruuuu((((1111)))) bbbbrrrruuuu((((1111))))
-
-
-
- specified using the ----ffff option. For this to work correctly, ////ddddeeeevvvv////ttttaaaappppeeee
- should be linked to the actual tape device, for ex. ////ddddeeeevvvv////mmmmtttt////ttttppppssss0000dddd6666.... Also
- there should be an appropriate entry for ////ddddeeeevvvv////mmmmtttt////ttttppppssss0000dddd6666 in the
- ////eeeettttcccc////bbbbrrrruuuuttttaaaabbbb file.
-
- MMMMOOOODDDDEEEESSSS
- One or more of the following modes must be specified. The order of
- execution, from highest priority to lowest, is eeeecccciiiittttxxxxddddgggghhhh.
-
- ----cccc CCCCrrrreeeeaaaatttteeee a new archive. Forces a new archive to be created
- regardless of whether one currently exists. Writing starts at
- the first block.
-
- ----dddd DDDDiiiiffffffffeeeerrrreeeennnncccceeeessss between archived _f_i_l_e_s and current _f_i_l_e_s are
- detected and reported. May be specified more than once, as ----dddddddd
- ----dddddddddddd or ----dddddddddddddddd to control level of difference checking.
-
- When specified as ----dddd _b_r_u reports when it discovers that a
- regular file's size (st_size) or contents (when compared as
- byte streams) has changed since the archive was made.
-
- When specified as ----dddddddd _b_r_u reports additional differences in
- modification date (st_mtime) access mode (st_mode), number of
- links (st_nlink) for non-directory files, differences in the
- contents of symbolic links, owner id (st_uid), and group id
- (st_gid).
-
- When specified as ----dddddddddddd _b_r_u reports additional differences in
- host device (st_dev), major/minor device (st_rdev) for special
- files, and time of last access (st_atime) for regular files.
-
- When specified as ----dddddddddddddddd _b_r_u reports all differences except time
- of last status change (st_ctime is not resettable), major/minor
- device numbers for non-special files (meaningless), and size
- differences for directory files (may have empty entries). The
- ----dddddddddddddddd mode is generally only meaningful during a verification
- pass with full backups of quiescent filesystems.
-
- ----eeee EEEEssssttttiiiimmmmaaaatttteeee media requirements for archive creation with same
- arguments. Prints estimated number of volumes, number of files
- to be archived, total number of archive blocks, and total size
- of archive in kilobytes. If the media size is unknown,
- unspecified, or set to 0 via the ----ssss flag or the _b_r_u_t_a_b file, it
- is assumed to be infinite. The ----ZZZZ flag may also be given. If
- used, every file that would be backed up will be compressed to
- a temporary file, which may slow down the estimation
- considerably. When ----ZZZZ,----cccc and ----eeee are all used, each file will
- be compressed twice, once during the estimation pass, and once
- while writing to the archive.
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- bbbbrrrruuuu((((1111)))) bbbbrrrruuuu((((1111))))
-
-
-
- ----gggg Dump archive info block in a form more easily parsed by
- programs implementing a complete filesystem management package.
- Performs no other archive actions. Note: when used with ----tttt,
- and the rewind tape device, this information is printed after
- the file list. This option will not work when used with ----tttt if
- the norewind tape device is used, since _b_r_u expects to be
- positioned at the beginning of the tape archive after the tape
- device is closed. When a number of _b_r_u archives are written to
- the same tape, a sequence like that below will work correctly
- (where # is the position of a particular archive set), listing
- first the label information, and then the files in the same
- archive.
-
- mt fsf #
- bru -vgf /dev/nrtape
- mt bsf 1
- bru -vtf /dev/nrtape
-
-
- ----hhhh Print hhhheeeellllpppp summary of options. Also prints some internal
- information such as version number and default values for archive
- pathname, media size, archive buffer size, etc.
-
- ----iiii IIIInnnnssssppppeeeecccctttt archive for internal consistency and data integrity. When
- ----vvvvvvvv option is also given, prints information from archive header
- block.
-
- ----tttt List ttttaaaabbbblllleeee of contents of archive. When used with the ----vvvv option
- will give a verbose table of contents in the same format as the ``ls
- -l'' command. When used with the ----vvvvvvvv option will also indicate what
- files are linked to other files, and where symbolic links point to.
-
- ----xxxx EEEExxxxttttrrrraaaacccctttt named _f_i_l_e_s from archive. If an archived file is extracted
- (see ----uuuu option) then the access mode, device id (special files
- only), owner uid, group uid, access time, and modification time are
- also restored. If the ----CCCC flag is given (see below), then the owner
- uid and group uid will be changed to that of the current user.
-
- Nonexistent directories are recreated from archived directories if
- possible, otherwise they are created with appropriate defaults for
- the current user. Extracted or created directories are initially
- empty.
-
- CCCCOOOONNNNTTTTRRRROOOOLLLL OOOOPPPPTTTTIIIIOOOONNNNSSSS
- Many of the control options are similar in function to their _t_a_r or _c_p_i_o
- equivalents.
-
- Sizes are specified in bytes. The scale factors MMMM, kkkk, or bbbb, can be used
- to indicate multiplication by 2**20, 1024, or 512 respectively. Thus
- ``10k'', ``20b'', and ``10240'' all specify the same number of bytes.
-
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- bbbbrrrruuuu((((1111)))) bbbbrrrruuuu((((1111))))
-
-
-
- ----aaaa Do not update the aaaacccccccceeeessssssss times of disk files that have been read
- while performing other actions. Normally _b_r_u restores the access
- and modification times of disk files after they have been read to
- the access and modification times to whatever they were before the
- read operation. Restoring the times prevents defeat of the
- mechanism used to track down and remove ``dead'' files that haven't
- been accessed in any meaningful way recently. Note that this has
- the side effect that backup programs such as _d_u_m_p(1m) will backup
- the file, since the _c_t_i_m_e of the file will have been modified; use
- of ----aaaa is therefore recommended when using _d_u_m_p as your system backup
- utility. Use of ----aaaa will also slightly speed up backups, since the
- inode will not be written.
-
- ----bbbb _b_s_i_z_e
- Use _b_s_i_z_e as the archive input/output bbbbuuuuffffffffeeeerrrr size. The minimum is
- the size of an archive block (2k or 2048 bytes) and the maximum is
- determined by available memory and I/O device limitations. If _b_s_i_z_e
- is not an even multiple of 2048 bytes, it will be rounded up.
- Normally this option is only required with the ----cccc mode since _b_r_u
- writes this information in the archive header block. If specified,
- _b_s_i_z_e overrides any existing default value (generally 20k), whether
- built in or read from the archive header.
-
- ----BBBB Useful in shell scripts where _b_r_u is run in the bbbbaaaacccckkkkggggrrrroooouuuunnnndddd with no
- operator present or not possible, such as when there is no
- controlling terminal, causing an open of ////ddddeeeevvvv////ttttttttyyyy to fail. Under
- these conditions, _b_r_u simply terminates with appropriate error
- messages and status, rather than attempting interaction with the
- terminal. With this option, _b_r_u will exit, rather than try to open
- the controlling terminal. In this case, the entire backup must fit
- on a single tape or other media, as there is no way to ask for a
- media change.
-
- ----CCCC Change the owner (cccchhhhoooowwwwnnnn) and group of each extracted file to the
- owner uid and group gid of the current user. Normally, _b_r_u will
- restore the owner and group to those recorded in the archive. This
- flag causes bru to follow the system default, with extracted files
- having the same owner and group as the user running _b_r_u, including
- Root.
-
- The ----CCCC option is useful with archives imported from other systems.
- In general, it should not be used by the operator or system
- administrator when restoring saved files. Use the ----ttttvvvv option to see
- the owner and group of files stored in the archive.
-
- ----DDDD This option is not implemented, but is still accepted for backward
- compatibility with scripts that may use it.
-
- ----ffff _p_a_t_h
- Use _p_a_t_h as the archive ffffiiiilllleeee instead of the default. If the _p_a_t_h is
- ``-'' then _b_r_u uses the standard input for archive reading or
- standard output for archive writing, as appropriate. If the path is
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-
-
-
- bbbbrrrruuuu((((1111)))) bbbbrrrruuuu((((1111))))
-
-
-
- remote then it needs to be specified as [_u_s_e_r@]_s_y_s_t_e_m:/_d_e_v/???
- The <user@> part of the path is optional, and if none is specified
- then the user's login is used. The login has to be equivalently
- mapped to the remote machine if it has a password.
-
- ----FFFF FFFFaaaasssstttt mode. In fast mode, checksum computations and comparisons are
- disabled. This mode is useful when the output of one _b_r_u is piped
- to the input of another _b_r_u, or when the data integrity of the
- archive transmission medium is essentially perfect. Archives
- recorded with fast mode enabled must also be read with fast mode.
- Also, be aware that some of the automatic features of _b_r_u, such as
- automatic byte swapping, are not functional in fast mode.
-
- ----jjjj Convert aaaabbbbssssoooolllluuuutttteeee pathnames to "." relative pathnames. This option
- applies only to the ----xxxx mode.
-
- ----XXXX Echo relative pathnames as absolute pathnames. This option only
- valid when used in conjunction with the -x, -j and -v options.
-
- ----LLLL _s_t_r
- LLLLaaaabbbbeeeellll the archive with the specified string _s_t_r. _S_t_r is limited to
- 63 characters and is usually some meaningful reminder pertaining to
- the archive contents.
-
- ----llll Ignore unresolved lllliiiinnnnkkkkssss. Normally bru reports problems with
- unresolved links (both regular and symbolic links). This option
- suppresses all such complaints.
-
- ----mmmm Do not cross mmmmoooouuuunnnntttteeeedddd filesystem boundaries during expansion of
- explicitly named directories. This option applies only to
- directories named in _f_i_l_e_s. It limits selection of directory
- descendents to those located on the same filesystem as the
- explicitly named directory. This option currently applies only to
- the ----cccc and ----eeee modes.
-
- ----pppp PPPPaaaassssssss over files in archive by reading rather than seeking. Normally
- _b_r_u will use random access capabilities if available. This option
- forces reading instead of seeks.
-
- ----RRRR RRRReeeemmmmooootttteeee files are to be eeeexxxxcccclllluuuuddddeeeedddd from the archive (unless explicitly
- listed on the command line; remote directories on the command line
- are backed up as a directory, but files, subdirectories, etc.
- therein will not be backed up). Filesystems such as the _p_r_o_c(4)
- filesystem are considered to not be local, based on the information
- returned by the _s_t_a_t_v_f_s(2) system call.
-
- ----ssss _m_s_i_z_e
- Use _m_s_i_z_e as the media ssssiiiizzzzeeee. The effective media ssssiiiizzzzeeee will be
- computed from _m_s_i_z_e since it must be integral multiple of the
- input/output buffer size (see the ----bbbb option). Normally this option
- is only required with the ----cccc or ----eeee flags since _b_r_u writes this
- information in the archive header block. If specified, _m_s_i_z_e
-
-
-
- PPPPaaaaggggeeee 5555
-
-
-
-
-
-
- bbbbrrrruuuu((((1111)))) bbbbrrrruuuu((((1111))))
-
-
-
- overrides any existing default value, whether built in, read from
- the _b_r_u_t_a_b file, or read from the archive header. If set to 0, the
- tape is assumed to be infinite in length, and the archive is written
- until an error occurs, at which time a new volume is prompted for.
-
- ----vvvv Enable vvvveeeerrrrbbbboooosssseeee mode. May be specified more than once, as ----vvvvvvvv, ----vvvvvvvvvvvv,
- or ----vvvvvvvvvvvvvvvv, to get even more verbosity.
-
- ----wwww WWWWaaaaiiiitttt for confirmation. _B_r_u will print the filename, the action to
- be taken, and wwwwaaaaiiiitttt for confirmation. Any response beginning with
- 'y' will cause the action to complete. Any other response will
- abort the action.
-
- ----ZZZZ Use 12-bit LZW file compression. This is not the default because
- not all versions of _b_r_u know how to deal with compressed files.
- When the ----vvvv option is also selected, the compression ratio for each
- file is printed as a percentage. When this flag is used in
- conjunction with the ----tttt option on an archive that contains
- compressed file, the actual archive file sizes and names are
- printed, rather than the original values before archiving. Files
- are compressed into a temporary file in a directory given by the
- BRUTMPDIR environment variable. If not given, /usr/tmp is used.
-
- ----KKKK Required to archive files larger than 2 Gigabytes. _BBBB_rrrr_uuuu will issue a
- warning and skip such files if the _----_KKKK flag is not specified. Must
- be used in conjunction with the _----_ZZZZ flag. If _BBBB_rrrr_uuuu can compress the
- file to a size smaller than 2 Gigabytes, the file will be archived.
- Otherwise, a warning will be issued and the file will be skipped.
-
- FFFFIIIILLLLEEEE SSSSEEEELLLLEEEECCCCTTTTIIIIOOOONNNN OOOOPPPPTTTTIIIIOOOONNNNSSSS
- The file selection options control which files are selected for
- processing. Note that some options are only valid with specific modes.
-
- ----nnnn_d_a_t_e Select only files nnnneeeewwwweeeerrrr than _d_a_t_e, where this is based on the
- file modification time (see _ssss_tttt______mmmm_tttt_iiii_mmmm_eeee in _ssss_tttt_aaaa_tttt(2)); the inode
- modification time is not checked. The _d_a_t_e is given in one of
- the forms:
-
- DD-MMM-YY[YY][,HH:MM:SS] EX: 12-Mar-84,12:45:00
- MM/DD/YY[YY][,HH:MM:SS] EX: 3/12/84
- MMDDHHMM[YY[YY]] EX: 0312124584
- pathname EX: /etc/lastfullbackup
-
- The time of day is optional in the first two forms. If
- present, it is separated from the date with a comma. If YY is
- less than 39, it is assumed to be in the range 2000-2039.
- Otherwise, if less than 100, it is assumed to be in the range
- 1940-1999. The resulting year must be in the range 1970-2038.
-
- If _d_a_t_e is really the pathname of a file, then the modification
- date of that file will be used instead. This is useful in
- automated backups when a dummy file is ``touched'' to save the
-
-
-
- PPPPaaaaggggeeee 6666
-
-
-
-
-
-
- bbbbrrrruuuu((((1111)))) bbbbrrrruuuu((((1111))))
-
-
-
- date of last backup.
-
- ----oooo _u_s_e_r Select only files oooowwwwnnnneeeedddd by _u_s_e_r. _U_s_e_r may be specified in one
- of three ways:
-
- o As an ascii string corresponding to a user name in the
- password file.
- o As the pathname of a file in which case the owner of
- that file is used.
- o As a numeric value (decimal).
-
- ----uuuu _f_l_a_g_s When used in conjunction with ----xxxx mode, causes files of type
- specified by _f_l_a_g_s to be uuuunnnnccccoooonnnnddddiiiittttiiiioooonnnnaaaallllllllyyyy selected regardless of
- modification times. Normally _b_r_u will not overwrite
- (supersede) an existing file with an older archive file of the
- same name. Files which are not superseded will give warnings
- if vvvveeeerrrrbbbboooosssseeee mode level 2 (----vvvvvvvv) or higher is enabled. Possible
- characters for _f_l_a_g_s are:
-
- bbbb select block special files
- cccc select character special files
- dddd select directories
- llll select symbolic links
- pppp select fifos (named pipes)
- rrrr select regular files
-
- Selection of directories only implies that their attributes may
- be modified. Existing directories are never overwritten, this
- option merely allows their attributes to be set back to some
- previously existing state.
-
- Selection of symbolic links only implies that the contents of
- the link will be modified. It is currently impossible to
- change access time, modification time, or the file mode of a
- symbolic link.
-
- EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
- Create (----cccc) a new archive of all files under ``/usr/src'', writing
- archive to file (----ffff) ``/dev/rmt0'' using multiple tapes with a maximum
- size (----ssss) of 30 megabytes per tape.
-
- bru -c -f /dev/rmt0 -s 30M /usr/src
-
- Create (----cccc) a new archive on the default device in the first pass,
- archiving all files in and below the current directory which have been
- created or modified (----nnnn) since 3 P.M. on 14-Jan-84. Then do a second
- pass to verify that there are no differences (----dddd) between the archive and
- current files. Each file is listed (----vvvv) as it is processed.
-
- bru -cvd -n 14-Jan-84,15:00:00
-
-
-
-
-
- PPPPaaaaggggeeee 7777
-
-
-
-
-
-
- bbbbrrrruuuu((((1111)))) bbbbrrrruuuu((((1111))))
-
-
-
- Archive all files owned (----oooo) by user ``user1'' using the default archive
- device.
-
- find / -user user1 -print | bru -c -
- bru -c -o user1 /
-
- Copy a directory hierarchy from ``/usr/u1'' to ``/usr/u2''.
-
- (cd /usr/u1; bru -cf - ) | (cd /usr/u2; bru -xf -)
-
- Extract (----xxxx) the regular file ``/usr/guest/myfile'' unconditionally (----uuuurrrr)
- from an archive on file (----ffff) ``/dev/rf0''. Since the device size was
- recorded in the header block, it need not be specified. Note that option
- arguments do not need to be separated from their corresponding option
- flag by whitespace.
-
- bru -x -ur -f/dev/rf0 ./usr/guest/myfile
-
- Extract (----xxxx) all C source files in ``/usr/src/cmd'' that have names
- beginning with characters 'a' through 'm'. Wait (----wwww) for confirmation
- before extracting each file.
-
- bru -xw '/usr/src/cmd/[a-m]*.c'
-
- Inspect (----iiii) a previously created archive on the default device, dumping
- the contents of the header block for inspection (----vvvvvvvvvvvv) and verifying
- internal consistency and data integrity of the archive.
-
- bru -ivvv
-
- Back up the entire root filesystem without crossing mounted (----mmmm)
- filesystem boundaries. The archive will be written to file (----ffff)
- ``/dev/rmt0'' using an I/O buffer size (----bbbb) of 10k bytes.
-
- cd /
- bru -cvm -f /dev/rmt0 -b 10k
-
- DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
- Most diagnostics are reasonably informative. The most common have to do
- with meaningless combinations of options, incompatible options, hitting
- memory or device limits, unresolved file links, trying to archive or
- restore something to which access is normally denied, or problems with
- media errors and/or archive corruption.
-
- DDDDEEEEVVVVIIIICCCCEEEE TTTTAAAABBBBLLLLEEEE
- _B_r_u contains an internal table of known devices and their
- characteristics. This table is dynamically loaded from a data file
- specified by the environment variable BBBBRRRRUUUUTTTTAAAABBBB, or from /_e_t_c/_b_r_u_t_a_b, or
- from an internal default description if neither of the preceding is
- found.
-
-
-
-
-
- PPPPaaaaggggeeee 8888
-
-
-
-
-
-
- bbbbrrrruuuu((((1111)))) bbbbrrrruuuu((((1111))))
-
-
-
- The format of the _b_r_u data file for loadable devices is as follows. Note
- that the table MUST contain at least one entry and the first entry is the
- default archive device.
-
- Also, the table should contain an entry for the standard input and
- output, with a name of "-".
-
- Entries consist of a device name field, followed by one or more
- capabilities fields. Entries may span more than one line by escaping the
- newline at the end of the line with a '\' character ('\' is last
- character on line before newline). All whitespace (tabs, blanks,
- newlines, formfeeds) between fields is ignored.
-
- The device name field must be the first field in the entry and has the
- following form:
-
- <device name>|<device name>| ... |<device name>
-
- example: /dev/rmt[0-2]|/dev/mt[0-2]
-
- where each device has the same capabilities as the other devices
- specified (a class of devices). Regular expressions as described in
- _r_e_g_e_x_p(3) may be used.
-
- Each capability field is of the form:
-
- <capability name>=<value> or <boolean flag>
-
- example: size=640K REOPEN pwerr=EIO
-
- Note that there can be no whitespace between the capability name and the
- value. Note that a size of 0 is treated specially, see the ----ssss flag
- description above. Numeric values may be given in absolute form or with
- a trailing scale factor of:
-
- b or B Blocks (512 bytes)
- k or K Kilobytes (1024 bytes)
- m or M Megabytes (1024 * 1024 bytes)
-
- Error numbers may be given in absolute or symbolic form, as defined in
- <errno.h>.
-
- Currently used capabilities include:
- Name Type Meaning
- ______________________________________________________________________
- size numeric media size in bytes if known, zero otherwise
- seek numeric minimum seek resolution, zero if no seeks allowed
- prerr numeric errno for partial reads
- pwerr numeric errno for partial writes
- zrerr numeric errno for zero reads
- zwerr numeric errno for zero writes
-
-
-
- PPPPaaaaggggeeee 9999
-
-
-
-
-
-
- bbbbrrrruuuu((((1111)))) bbbbrrrruuuu((((1111))))
-
-
-
- frerr numeric errno for read of unformatted media
- fwerr numeric errno for write of unformatted media
- wperr numeric errno for write protected media
- reopen boolean close and reopen archive upon media switch
- noreopen boolean no close and reopen archive upon media switch
- tape boolean archive device is a tape drive
- rawtape boolean archive device is a "raw" tape drive
- used primarily with devices that support
- multiple block sizes
- norewind boolean closing does not automatically rewind
- advance boolean read/writes advance media even when errors occur
-
- For instance, an excerpt from /_e_t_c/_b_r_u_t_a_b for SCSI tapedrives is:
-
- /dev/r*mt/tps[0-9]d[1-7]nr* \
- size=0K seek=0 \
- prerr=EIO pwerr=EIO zrerr=ENOSPC zwerr=ENOSPC frerr=0 fwerr=0 \
- wperr=EROFS norewind reopen tape rawtape advance
- #
- /dev/r*mt/tps[0-9]d[1-7]* \
- size=0K seek=0 \
- prerr=EIO pwerr=EIO zrerr=ENOSPC zwerr=ENOSPC frerr=0 fwerr=0 \
- wperr=EROFS reopen tape rawtape advance
- # This entry is a generic entry for stdin and stdout.
- - size=0 seek=0 prerr=0 pwerr=0 zrerr=0 zwerr=0 frerr=0 fwerr=0 wperr=0
-
- The internal table that is used if no file can be found is:
-
-
- /dev/tape* \
- size=0k seek=0 \
- prerr=EIO pwerr=EIO zrerr=ENOSPC zwerr=ENOSPC frerr=0 fwerr=0 \
- wperr=EROFS reopen tape rawtape advance
- /dev/nrtape* \
- size=0k seek=0 \
- prerr=EIO pwerr=EIO zrerr=ENOSPC zwerr=ENOSPC frerr=0 fwerr=0 \
- wperr=EROFS norewind reopen tape rawtape advance
-
-
- SSSSIIIIGGGGNNNNAAAALLLL HHHHAAAANNNNDDDDLLLLIIIINNNNGGGG
- _B_r_u normally catches both interrupt (SIGINT) and quit (SIGQUIT). When
- interrupt is caught during archive creation or extraction, _b_r_u completes
- its work on the current file before cleaning up and exiting. This is the
- normal way of aborting _b_r_u. When a quit signal is caught an immediate
- exit is taken.
-
- Note that during file extraction, a quit signal may leave the last file
- only partially extracted. Similarly, a quit signal during archive
- writing may leave the archive truncated. When either interrupt or quit
- is caught at any other time an immediate exit is taken.
-
-
-
-
-
- PPPPaaaaggggeeee 11110000
-
-
-
-
-
-
- bbbbrrrruuuu((((1111)))) bbbbrrrruuuu((((1111))))
-
-
-
- EEEERRRRRRRROOOORRRR RRRREEEECCCCOOOOVVVVEEEERRRRYYYY
- When properly configured for a given software/hardware environment, bru
- can recover from most common errors. For example, attempts to use
- unformatted media are detected, allowing substitution of formatted media.
- Random blocks in an archive can be deliberately overwritten (corrupted)
- without affecting _b_r_u's ability to recover data from the rest of the
- archive. When I/O errors are detected, retries are performed
- automatically. Out of order sequencing on multi-volume archive reads is
- detected, allowing replacement with the correct volume.
-
- DDDDIIIIRRRREEEECCCCTTTTOOOORRRRIIIIEEEESSSS
- When creating non-incremental archives _b_r_u automatically archives all
- directories necessary to fully restore any file from the archive. During
- extraction, any required directories which do not already exist are
- restored from the archive if possible, otherwise they are created with
- appropriate defaults for the current user.
-
- The net result is that restoration from incremental archives (which may
- not contain all necessary directories), or incremental restoration from
- full archives (which may skip directories needed later), may result in
- creation of directories with the default attributes.
-
- WWWWIIIILLLLDDDDCCCCAAAARRRRDDDDSSSS
- When rrrreeeeaaaaddddiiiinnnngggg archives _b_r_u recognizes filename generation patterns in the
- same format as the shell. This allows greater flexibility in specifying
- files to be extracted, compared, or listed. As a special extension to
- shell type expansion, the sense of the match is reversed for patterns
- that begin with '!'.
-
- Note that the patterns may have to be quoted to prevent expansion by the
- shell. Also note that patterns are processed independently, without
- regard for any other patterns that may or may not be present. In
- particular, "/bin/a* /bin/b*" is equivalent to "/bin/[ab]*", but
- "/bin/!a* /bin/!b*" is equivalent to "/bin/*", nnnnooootttt "/bin/![ab]*".
-
- BBBBYYYYTTTTEEEE////WWWWOOOORRRRDDDD SSSSWWWWAAAAPPPPPPPPIIIINNNNGGGG
- While reading archives produced on other machines, _b_r_u automatically
- attempts to perform byte and/or word swapping as necessary.
-
- If no device table is specified, _b_r_u automatically uses the no-swap tape
- device, which provides higher performance and compatibility with non-byte
- swapped tapes from other systems. The IRIS 3000 series does not support
- non-byte swapped tapes, but the automatic byte-swapping capabilities of
- _b_r_u will deal with this problem.
-
- RRRREEEEMMMMOOOOTTTTEEEE TTTTAAAAPPPPEEEE DDDDRRRRIIIIVVVVEEEESSSS
- _B_r_u allows the use of remote tape drives for the archive device (via the
- ----ffff option). A remote tape drive filename has the form
-
- [_u_s_e_r@]_s_y_s_t_e_m:/_d_e_v/???
-
- where _s_y_s_t_e_m is the remote system, the optional _u_s_e_r is the login name to
-
-
-
- PPPPaaaaggggeeee 11111111
-
-
-
-
-
-
- bbbbrrrruuuu((((1111)))) bbbbrrrruuuu((((1111))))
-
-
-
- use on the remote system if different from the current user's login name,
- and ////ddddeeeevvvv////???????????? is the tape drive to use (1600 BPI or 800 BPI, raw or
- blocked, rewinding or non-rewinding, etc.). In all cases, the user must
- have the appropriate permissions on the remote system. (See also the
- CCCCAAAAVVVVEEEEAAAATTTTSSSS section, below.)
-
- EEEEXXXXIIIITTTT CCCCOOOODDDDEEEESSSS
- _B_r_u always returns meaningful status as follows:
-
- 0 Normal exit, no errors or warnings.
- 1 Warnings (or interrupted).
- 2 Errors (or quit signal).
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- cpio(1), rmt(1M), tar(1), attr(1), xfsdump(1).
-
- UUUUNNNNIIIIXXXX SSSSYYYYSSSSTTTTEEEEMMMM IIIINNNNCCCCOOOOMMMMPPPPAAAATTTTIIIIBBBBIIIILLLLIIIITTTTIIIIEEEESSSS
- _B_r_u recognizes special file types that may be allowed on one type of UUUUNNNNIIIIXXXX
- system, but not on another. For instance, on a 4.2 BSD system, _b_r_u will
- extract fifos as plain files (mode 0666, as modified by the _u_m_a_s_k), and
- issue an appropriate error message. Usually, _b_r_u will issue two
- messages. The first message will be the more descriptive of the two.
-
- Currently, the only different UUUUNNNNIIIIXXXX systems that _b_r_u fully understands are
- System V, 4.2 BSD, and Pyramid's OSx.
-
- CCCCAAAAVVVVEEEEAAAATTTTSSSS
- Pathnames are limited to 127 characters in length. This could become a
- chronic problem.
-
- Implementation differences complicate the algorithms for automatic
- detection of end of file on devices. The algorithms can be fooled, hence
- the ----ssss option.
-
- Special files moved to a machine other than their original host will
- generally be useless and possibly even dangerous. This goes double for
- symbolic links.
-
- When extracting files from archives, patterns used to match directories
- may result in some unnecessary directories being extracted. For example,
- if the pattern is ``a/*/c'', and the directory ``a/b'' is encountered in
- the archive, the directory file ``a/b'' will be extracted since it will
- be needed when (and if) the file ``a/b/c'' is encountered. When in
- doubt, use the ----wwww option.
-
- In order to be able to efficiently archive needed directories, _b_r_u builds
- an image of the directory tree for _f_i_l_e_s using dynamically allocated
- memory. Since there may be at most 5120 characters passed on the command
- line, it is very unlikely that _b_r_u will run out of memory while building
- the tree from command line arguments. This is not true of file lists
- read from the standard input, particularly on machines with limited
- address space.
-
-
-
- PPPPaaaaggggeeee 11112222
-
-
-
-
-
-
- bbbbrrrruuuu((((1111)))) bbbbrrrruuuu((((1111))))
-
-
-
- Information about file linkages is also kept in memory. Some linkages
- may be lost if memory is exhausted.
-
- Since _b_r_u is owned by root and runs with ``set user id'' to allow it to
- create directories and special files, it makes every attempt to prevent
- normal users from archiving or extracting files they would normally not
- have access to. There may be loopholes. Also note that anyone with
- physical or electronic access to an archive, and knowledge of the archive
- structure, can recover any of its contents by writing their own file
- extraction program.
-
- Files within directories which have filesystems mounted on them will not
- be properly archived until the filesystem is unmounted, since the mounted
- filesystem hides them. This is not generally a problem.
-
- Explicitly naming both a directory and one of its descendents will cause
- the descendent to be archived twice, unless they are on separate
- filesystems and the ----mmmm flag is used.
-
- Explicitly naming a file more than once is ineffective.
-
- When reading from the raw magnetic tape file (rmtxxx) _b_r_u automatically
- attempts to adjust the I/O buffer size to match that used to record the
- archive. Under certain circumstances it may fail and require help via
- the ----bbbb option.
-
- Using remote tape drives can be slow.
-
- Extended Attributes such as file ACL's, capability sets, and MAC labels
- are not archived or restored using bru. See _aaaa_tttt_tttt_rrrr(1) for more information
- about Extended Attributes and see _xxxx_ffff_ssss_dddd_uuuu_mmmm_pppp(1m) or _tttt_aaaa_rrrr(1M) with the _----_MMMM
- option for a method to back them up.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 11113333
-
-
-
-